<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>

<head>
	<meta name="Author" content="Richard Joseph Wagner">
	<meta name="Description" content="C++ class for configuration file reader">
	<meta name="Keywords" content="configuration,file,reader,input,text,C++,class,ConfigFile,data,type,datatype">
	<link href="main.css" rel="stylesheet" type="text/css">
	<style type="text/css">
		body { background: url("AntBlueMaize.jpg"); }
		tr { text-indent: 2em }
	</style>
	<title>Configuration File Reader for C++</title>
</head>

<body>

<h1>Configuration File Reader for C++</h1>

ConfigFile is a C++ class for reading configuration files.  Such files are handy, for example, in running computer simulations.  The simulation program can be set to read its input parameters and settings from a configuration file.  Then, changing the simulation conditions is as easy as editing text in the configuration file rather than editing and recompiling the source code.

<p>With this purpose in mind, ConfigFile is designed to be convenient, portable, and free.  Take a look at the
<a href="ConfigFile.h">class header</a>,
<a href="ConfigFile.cpp">class definition</a>,
<a href="example.cpp">example program<a>, and
<a href="example.inp">sample input<a>.
Or, download the complete package in
<a href="ConfigFile-2.1.zip">zip</a>
or
<a href="ConfigFile-2.1.tar.gz">tarball</a>
format.

<p>Features:
<ul>
	<li>Human-readable configuration files:
	<ul>
		<li><code>atoms = 250</code>
		<li><code>length = 8.0 &nbsp;# nanometers</code>
		<li><code>name = Reece Surcher</code>
	</ul>
	<li>Simple file opening with <code>ConfigFile config( "config.inp" );</code>
	<li>Convenient reading of any data type:
	<ul>
		<li><code>int atoms = config.read&lt;int&gt;( "atoms" );</code>
		<li><code>double length = config.read( "length", 10.0 );</code>
		<li><code>string author = config.read&lt;string&gt;( "name", "none" );</code>
	</ul>
	<li>Ability to modify and save configuration files
	<li>Thorough example program
	<li>Validation tests
	<li>Open source code under MIT License
</ul>

<p>If you like this software, also try my version of the
<a href="http://www-personal.engin.umich.edu/~wagnerr/MersenneTwister.html">Mersenne Twister</a>
random number generator.

<!-- counter included only in online version -->

<p><table align=center><tr>
	<td><a href="http://www-personal.engin.umich.edu/~wagnerr/index.html">
		<img class="nav" src="ArrowHome.gif" alt="^ home" height=16 width=16 border=0>
	</a></td>
	<td><span class="center"><address>
		Rick Wagner (
		<a href="mailto:wagnerr@umich.edu">wagnerr@umich.edu</a>
		) 26 May 04
	</address></span></td>
</table>

</body>
</html>
